{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf230
{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fnil\fcharset77 LucidaGrande;\f2\fnil\fcharset77 LucidaGrande-Bold;
\f3\fmodern\fcharset77 CourierNewPSMT;\f4\fmodern\fcharset77 Courier;}
{\colortbl;\red255\green255\blue255;\red98\green98\blue98;\red240\green240\blue240;}
\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\qr

\f0\b\fs20 \cf2 http://www.lachoseinteractive.net/en/community/subversion/svnx/
\fs36 \
\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural

\fs38 \cf2 What is svnX ?\

\fs36 \

\f1\b0\fs26 \cf0 SvnX is an open source GUI for most features of the svn client binary.\
It allows you to browse your Subversion working copies, spot changes and operate on them but also to browse logs and revisions of your repositories !\
It's written using Panther's new bindings mechanism for maximum flexibility and user experience.\
\

\f2\b Features
\f1\b0 \
\'a5 Repository Inspector :\
	\'a5 Browse logs, revisions and directories in a single window.\
	\'a5 svn checkout, svn export, svn import, svn switch, svn copy, svn mkdir and svn delete support.\
	\'a5 Drag & drop from the repository browser to the Finder ! (svn export or svn checkout)\
	\'a5 Drag & drop from the Finder to the repository browser  ! (svn import)\
	\'a5 Drag & drop between a repository and a working copy ! (svn switch)\
	\'a5 FileMerge integration.\
	\'a5 Disk cache for impressive speed.\
\'a5 Working Copy Inspector :\
	\'a5 Flat view / hierarchical view.\
	\'a5 Items sorting/filtering/searching.\
	\'a5 Operate svn actions on selected items.\
	\'a5 svn move/copy via drag&drop in hierarchical view.\
	\'a5 svn rename.\
\'a5 Save your favorite working copies and repositories in a panel.
\fs24 \

\fs26 \'a5 Activity window.
\fs24 \

\f0\b\fs36 \cf2 \
\

\fs38 Getting started
\fs36 \

\f2\fs26 \cf0 \
If you are new to Subversion\

\f1\b0 You should definitely get familiar with Subversion before using svnX !\
The book is available in html or pdf : http://svnbook.red-bean.com/\
Also, learn the command-line basics.\
Anyway, you won't be able to set up a server or repository with svnX.\

\f0\b\fs36 \cf2 \

\f2\fs26 \cf0 Requirements
\f1\b0 \
\'a5 Mac OS X 10.3 or 10.4.\
\'a5 A working install of Subversion. We recommend Martin Ott's binary package : http://homepage.mac.com/martinott/ .\

\fs24 \

\fs26 If you're using another package, make sure that the path to svn binaries is correct, in svnX preferences.\
By default, the path is set to /usr/local/bin.
\fs24 \
\

\f2\b\fs26 Forum
\f1\b0\fs24 \
http://svnx.lachoseinteractive.com.\
\
\
\

\f0\b\fs38 \cf2 A few things to know :
\fs36 \

\f1\b0\fs24 \cf0 \

\f2\b\fs26 Authentication\

\f1\b0\fs24 svnX supports authentication via --username and --password options of the svn binary.
\f2\b\fs26 \

\f1\b0\fs24 \'a5 
\f2\b svn://   		
\f1\b0 svnX supports direct authentication via user/pass set in the favorite working 				copies/repository windows although credentials caching method is recommended 				(see below).\
\'a5 
\f2\b svn+ssh://
\f1\b0   	Authentication should be handled by an ssh-agent.\
				sshLogin provides this functionality (http://www.synthemesc.com/sshLogin/).\
\'a5 
\f2\b https://
\f1\b0 		svnX won't work if the certificate must be trusted.\
				You can add it manually to subversion runtime "servers" file, located in ~/.subversion 				folder.\
				You can also run a command from the terminal that will let the certificate be 				permanently accepted :\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\fi2300\ql\qnatural

\f3\fs21\fsmilli10700 \cf0 \cb3 \
$ svn list https://host.example.com/repos/project\
\
Error validating server certificate for 'https://host.example.com:443':\
 - The certificate is not issued by a trusted authority. Use the\
   fingerprint to validate the certificate manually!\
Certificate information:\
 - Hostname: host.example.com\
 - Valid: from Jan 30 19:23:56 2004 GMT until Jan 30 19:23:56 2006 GMT\
 - Issuer: CA, example.com, Sometown, California, US\
 - Fingerprint: 7d:e1:a9:34:33:39:ba:6a:e9:a5:c4:22:98:7b:76:5c2:...\
\
(R)eject, accept (t)emporarily or accept (p)ermanently?\
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural

\f1\fs22 \cf0 \cb1 				\
\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural

\fs24 \cf0 \
Note that svnX has the same functionalities and limitations as the svn binaries. If something works in the terminal, it should work in svnX.\
svnX can also take advantage of credentials caching, the same way svn does.\
\
\'a5 About certificates :\
	http://svnbook.red-bean.com/en/1.1/ch06s04.html#svn-ch-6-sect-4.3.2\
\'a5 About credentials caching :\
	http://svnbook.red-bean.com/en/1.1/ch06s02.html#svn-ch-6-sect-2.2\
\'a5 Forum topic :\
	http://svnx.lachoseinteractive.com/viewtopic.php?t=17\
\

\f2\b\fs26 Repository window\

\f1\b0 Note that you can \ul drag&drop between the repository browser and the Finder\ulnone  !\
If you drag out several items, svnX assumes you want to export them.\
If you drag out one folder, svnX will ask you whether you want to checkout or to export the folder.\
You can drag a single item from the Finder to the repository browser to import it !\

\fs24 You can also \ul drag&drop between a repository and a working copy\ulnone  to move your working copy to another branch (see below).\
\

\f2\b\fs26 Working copy window
\f1\b0\fs24 \

\fs26 Refreshing a working copy does a "svn status" in Smart Mode, and a "svn status -v" otherwise.\
If you press
\f2\b  the Alt key
\f1\b0  while clicking on the Refresh button, the --show-updates switch is added (the latest info will be retrieved from the repository, thus allowing you to identify the out-of-date files). \

\fs24 \

\f2\b\fs26 Moving, Copying, renaming a file in the working copy.\

\f1\b0\fs24 \'a5 Don't do that in the Finder : you have to let Subversion know that you want to do such a thing so the history of the file can be saved.\
\'a5 In svnX, these operations take place in the hierarchical mode :\
	\'a5 uncheck the "Flat mode" checkbox.\
	\'a5 drag an item to the left to move a file.\
	\'a5 option-drag an item to copy it.\
	\'a5 double-click an item to rename it.\
	\'a5 if you drag a single item, an intermediate sheet will let you give another name to the copy.\
\

\f2\b\fs26 Moving the working copy to another branch (svn switch)\

\f1\b0\fs24 \'a5 Open the repository the working copy belongs to.\
\'a5 Choose a revision.\
\'a5 In the repository browser, locate the folder you want to switch to.\
\'a5 Drag this folder from the repository to the working copy window !\
\'a5 A confirmation sheet shows up.\
For more information about this great Subversion feature, read Subversion documentation.\
Make sure not to overlook this !!!\
\

\f2\b\fs26 Activity window\

\f1\b0\fs24 \'a5 The stop button tries to gracefully stop the process. Alt-clicking this button sends a non-ignorable kill to the process, which always work :-D . (This is not recommended, though).\
\

\f2\b\fs26 FileMerge
\f1\b0 \

\fs24 \'a5 In the working copy inspector, clicking on the FileMerge icon will compare the item with its pristine copy. Clicking while pressing Alt key brings up a panel that allows you to compare any two revision of the file.\
\'a5 Subversion 1.1 is required to compare two revisions of a file that was renamed or moved.\
\'a5 In the general preferences, you can choose between FileMerge, TextWrangler and CodeWarrior.\
\

\f2\b\fs26 Disk cache\

\f1\b0\fs24 \'a5 The disk cache is enabled by default. You can disable it in the preferences.\
\'a5 The cache is stored in ~Library/Caches/com.lachoseinteractive.svnx/ .\
\

\f2\b\fs26 Invoking svnX's diff window with Applescript
\fs24 \

\f1\b0 \'a5 There is currently only one applescript command available. It allows you to use svnX's diff window from another application.\
\
Usage :\
	\
\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural

\f4\fs20 \cf0 tell application "svnX" to diff /absolute/path/to/the/file\
\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural

\f1\fs24 \cf0 \
TextMate example : \
\
\pard\tx0\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural

\f4\fs20 \cf0 osascript -e 'set TM_FILEPATH to get system attribute "TM_FILEPATH"' -e 'tell application "svnX" to diff TM_FILEPATH'\
\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural

\f1\fs24 \cf0 \
\'a5 You can also invoke FileMerge to compare the file with the pristine copy (without displaying svnX's diff window, actually without even opening svnX) :\
\
\pard\tx565\tx1133\tx1700\tx2266\tx2832\tx3401\tx3967\tx4535\tx5102\tx5669\tx6235\tx6802\ql\qnatural

\f4\fs20 \cf0 /usr/local/bin/svn diff --diff-cmd "/Applications/svnX.app/Contents/Resources/svndiff.sh" $TM_FILEPATH > /dev/null\
\
\
}